Extension point queues
In component org.nuxeo.ecm.core.work.service
Documentation
Defines the characteristics of work queues:
<queue id="myqueue">
<name>My Queue</name>
<maxThreads>4</maxThreads>
<capacity>100</capacity>
<clearCompletedAfterSeconds>300</clearCompletedAfterSeconds>
<category>somecategory1</category>
<category>somecategory2</category>
</queue>
- id is the queue id.
- name is the human-readable name.
- maxThreads maximum number of worker threads (default 4).
- capacity when specified make the queue bounded, the scheduling of new work is blocking when the queue is full (default unlimited).
- clearCompletedAfterSeconds (default 3600) is the delay after which completed work may be automatically cleared from its queue. 0 means never.
- category is a list of Work categories that this queue will receive. For event listeners work, the category is the listener name (or its simple class name).
Contribution Descriptors
- Class: org.nuxeo.ecm.core.work.api.WorkQueueDescriptor
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="quota"> <maxThreads>1</maxThreads> <category>quotaInitialStatistics</category> <category>quotaMaxSizeSetter</category> <category>quotaProcessor</category> <name>quota</name> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="elasticSearchIndexing"> <name>ElasticSearch Indexing</name> <maxThreads>4</maxThreads> <!-- <usePriority>true</usePriority> --> <category>elasticSearchIndexing</category> <clearCompletedAfterSeconds>90</clearCompletedAfterSeconds> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="pictureViewsGeneration"> <maxThreads>1</maxThreads> <category>pictureViewsGeneration</category> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="videoConversion"> <maxThreads>1</maxThreads> <category>videoConversion</category> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="collections"> <maxThreads>1</maxThreads> <category>duplicateCollectionMember</category> <category>removedCollectionMember</category> <category>removedCollection</category> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="csvImporter"> <maxThreads>1</maxThreads> <category>csvImporter</category> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="audit"> <name>Audit queue</name> <maxThreads>1</maxThreads> <category>auditLoggerListener</category> <!-- clear completed work instances older than 5 min --> <clearCompletedAfterSeconds>300</clearCompletedAfterSeconds> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="escalation"> <category>routingEscalation</category> <name>escalation</name> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="quota"> <name>Quota updater queue</name> <maxThreads>1</maxThreads> <category>quotaProcessor</category> <clearCompletedAfterSeconds>3600</clearCompletedAfterSeconds> </queue> </extension>
-
<extension point="queues" target="org.nuxeo.ecm.core.work.service"> <queue id="default"> <name>Default queue</name> <maxThreads>4</maxThreads> <!-- clear completed work instances older than one hour --> <clearCompletedAfterSeconds>3600</clearCompletedAfterSeconds> </queue> <queue id="fulltextUpdater"> <name>Fulltext updater queue</name> <!-- fulltext updates are single-threaded to avoid concurrent writes to the same column --> <maxThreads>1</maxThreads> <category>fulltextUpdater</category> <!-- clear completed work quickly as it contains (potentially large) text data --> <clearCompletedAfterSeconds>600</clearCompletedAfterSeconds> </queue> </extension>